package com.wsx;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wsx.entity.Employee;
import com.wsx.mapper.EmployeeMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
public class testPage {
    @Autowired
    private EmployeeMapper employeeMapper;


    @Test
    void testMybatisPlus(){
        //1 创建IPage分页对象,设置分页参数,1为当前页码，3为每页显示的记录数
        IPage<Employee> page=new Page<>(1,3);
        //page.setCurrent(1);
        //page.setPages(10)

        //2 执行分页查询，一般不写返回值page1，用page就行了，因为指向的对象地址一样
        IPage<Employee> page1=employeeMapper.selectPage(page,null);

        //3 获取分页结果
        System.out.println(page);
        System.out.println("当前页码值："+page.getCurrent());
        System.out.println("每页显示数："+page.getSize());
        System.out.println("一共多少页："+page.getPages());
        System.out.println("一共多少条数据："+page.getTotal());
        System.out.println("当前页的数据："+page.getRecords());
    }

    @Test
    void testMybatis(){
        //开启分页，然后拦截查询语句添加limit关键字，外面可以看到第一个查询语句和分页查询语句（带limit）
        //Page<Object> page = PageHelper.startPage(1, 4);   //返回值只能看到部分分页相关数据
        PageHelper.startPage(1, 3);
        //查询所有，Eample是根据条件查询，如果没有条件，就是查询所有
        List<Employee> list = employeeMapper.getSelectByAll();
        PageInfo<Employee> pageInfo=new PageInfo(list);
        //System.out.println(page);
        System.out.println(pageInfo);

    }

    @Test
    void test(){
        System.out.println(System.getProperty("user.dir"));
    }

}
